package top.yunmouren.areamusic.config;



import java.util.List;

public class AreaDto {
    private String world;
    private String uuid;
    private String areaId;
    private List<String> musicId;
    private Priority priority;
    private Boolean random;
    private Boolean loop;
    private Boolean enabled;
    private Boolean overWrite;
    private Float volume;
    private Float pitch;
    private Point minPoint;
    private Point maxPoint;

    public static AreaDtoBuilder builder() {
        return new AreaDtoBuilder();
    }

    public String getWorld() {
        return this.world;
    }

    public String getUuid() {
        return this.uuid;
    }

    public String getAreaId() {
        return this.areaId;
    }

    public List<String> getMusicId() {
        return this.musicId;
    }

    public Priority getPriority() {
        return this.priority;
    }

    public Boolean getRandom() {
        return this.random;
    }

    public Boolean getLoop() {
        return this.loop;
    }

    public Boolean getEnabled() {
        return this.enabled;
    }

    public Boolean getOverWrite() {
        return this.overWrite;
    }

    public Float getVolume() {
        return this.volume;
    }

    public Float getPitch() {
        return this.pitch;
    }

    public Point getMinPoint() {
        return this.minPoint;
    }

    public Point getMaxPoint() {
        return this.maxPoint;
    }

    public void setWorld(String world) {
        this.world = world;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public void setAreaId(String areaId) {
        this.areaId = areaId;
    }

    public void setMusicId(List<String> musicId) {
        this.musicId = musicId;
    }

    public void setPriority(Priority priority) {
        this.priority = priority;
    }

    public void setRandom(Boolean random) {
        this.random = random;
    }

    public void setLoop(Boolean loop) {
        this.loop = loop;
    }

    public void setEnabled(Boolean enabled) {
        this.enabled = enabled;
    }

    public void setOverWrite(Boolean overWrite) {
        this.overWrite = overWrite;
    }

    public void setVolume(Float volume) {
        this.volume = volume;
    }

    public void setPitch(Float pitch) {
        this.pitch = pitch;
    }

    public void setMinPoint(AreaDto.Point minPoint) {
        this.minPoint = minPoint;
    }

    public void setMaxPoint(AreaDto.Point maxPoint) {
        this.maxPoint = maxPoint;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof AreaDto)) {
            return false;
        } else {
            AreaDto other = (AreaDto)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label167: {
                    Object this$random = this.getRandom();
                    Object other$random = other.getRandom();
                    if (this$random == null) {
                        if (other$random == null) {
                            break label167;
                        }
                    } else if (this$random.equals(other$random)) {
                        break label167;
                    }

                    return false;
                }

                Object this$loop = this.getLoop();
                Object other$loop = other.getLoop();
                if (this$loop == null) {
                    if (other$loop != null) {
                        return false;
                    }
                } else if (!this$loop.equals(other$loop)) {
                    return false;
                }

                label153: {
                    Object this$enabled = this.getEnabled();
                    Object other$enabled = other.getEnabled();
                    if (this$enabled == null) {
                        if (other$enabled == null) {
                            break label153;
                        }
                    } else if (this$enabled.equals(other$enabled)) {
                        break label153;
                    }

                    return false;
                }

                Object this$overWrite = this.getOverWrite();
                Object other$overWrite = other.getOverWrite();
                if (this$overWrite == null) {
                    if (other$overWrite != null) {
                        return false;
                    }
                } else if (!this$overWrite.equals(other$overWrite)) {
                    return false;
                }

                label139: {
                    Object this$volume = this.getVolume();
                    Object other$volume = other.getVolume();
                    if (this$volume == null) {
                        if (other$volume == null) {
                            break label139;
                        }
                    } else if (this$volume.equals(other$volume)) {
                        break label139;
                    }

                    return false;
                }

                Object this$pitch = this.getPitch();
                Object other$pitch = other.getPitch();
                if (this$pitch == null) {
                    if (other$pitch != null) {
                        return false;
                    }
                } else if (!this$pitch.equals(other$pitch)) {
                    return false;
                }

                label125: {
                    Object this$world = this.getWorld();
                    Object other$world = other.getWorld();
                    if (this$world == null) {
                        if (other$world == null) {
                            break label125;
                        }
                    } else if (this$world.equals(other$world)) {
                        break label125;
                    }

                    return false;
                }

                label118: {
                    Object this$uuid = this.getUuid();
                    Object other$uuid = other.getUuid();
                    if (this$uuid == null) {
                        if (other$uuid == null) {
                            break label118;
                        }
                    } else if (this$uuid.equals(other$uuid)) {
                        break label118;
                    }

                    return false;
                }

                Object this$areaId = this.getAreaId();
                Object other$areaId = other.getAreaId();
                if (this$areaId == null) {
                    if (other$areaId != null) {
                        return false;
                    }
                } else if (!this$areaId.equals(other$areaId)) {
                    return false;
                }

                label104: {
                    Object this$musicId = this.getMusicId();
                    Object other$musicId = other.getMusicId();
                    if (this$musicId == null) {
                        if (other$musicId == null) {
                            break label104;
                        }
                    } else if (this$musicId.equals(other$musicId)) {
                        break label104;
                    }

                    return false;
                }

                label97: {
                    Object this$priority = this.getPriority();
                    Object other$priority = other.getPriority();
                    if (this$priority == null) {
                        if (other$priority == null) {
                            break label97;
                        }
                    } else if (this$priority.equals(other$priority)) {
                        break label97;
                    }

                    return false;
                }

                Object this$minPoint = this.getMinPoint();
                Object other$minPoint = other.getMinPoint();
                if (this$minPoint == null) {
                    if (other$minPoint != null) {
                        return false;
                    }
                } else if (!this$minPoint.equals(other$minPoint)) {
                    return false;
                }

                Object this$maxPoint = this.getMaxPoint();
                Object other$maxPoint = other.getMaxPoint();
                if (this$maxPoint == null) {
                    if (other$maxPoint != null) {
                        return false;
                    }
                } else if (!this$maxPoint.equals(other$maxPoint)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof AreaDto;
    }

    public int hashCode() {
        boolean PRIME = true;
        int result = 1;
        Object $random = this.getRandom();
        result = result * 59 + ($random == null ? 43 : $random.hashCode());
        Object $loop = this.getLoop();
        result = result * 59 + ($loop == null ? 43 : $loop.hashCode());
        Object $enabled = this.getEnabled();
        result = result * 59 + ($enabled == null ? 43 : $enabled.hashCode());
        Object $overWrite = this.getOverWrite();
        result = result * 59 + ($overWrite == null ? 43 : $overWrite.hashCode());
        Object $volume = this.getVolume();
        result = result * 59 + ($volume == null ? 43 : $volume.hashCode());
        Object $pitch = this.getPitch();
        result = result * 59 + ($pitch == null ? 43 : $pitch.hashCode());
        Object $world = this.getWorld();
        result = result * 59 + ($world == null ? 43 : $world.hashCode());
        Object $uuid = this.getUuid();
        result = result * 59 + ($uuid == null ? 43 : $uuid.hashCode());
        Object $areaId = this.getAreaId();
        result = result * 59 + ($areaId == null ? 43 : $areaId.hashCode());
        Object $musicId = this.getMusicId();
        result = result * 59 + ($musicId == null ? 43 : $musicId.hashCode());
        Object $priority = this.getPriority();
        result = result * 59 + ($priority == null ? 43 : $priority.hashCode());
        Object $minPoint = this.getMinPoint();
        result = result * 59 + ($minPoint == null ? 43 : $minPoint.hashCode());
        Object $maxPoint = this.getMaxPoint();
        result = result * 59 + ($maxPoint == null ? 43 : $maxPoint.hashCode());
        return result;
    }

    public AreaDto() {
    }

    public AreaDto(String world, String uuid, String areaId, List<String> musicId, Priority priority, Boolean random, Boolean loop, Boolean enabled, Boolean overWrite, Float volume, Float pitch, Point minPoint, Point maxPoint) {
        this.world = world;
        this.uuid = uuid;
        this.areaId = areaId;
        this.musicId = musicId;
        this.priority = priority;
        this.random = random;
        this.loop = loop;
        this.enabled = enabled;
        this.overWrite = overWrite;
        this.volume = volume;
        this.pitch = pitch;
        this.minPoint = minPoint;
        this.maxPoint = maxPoint;
    }

    public String toString() {
        return "AreaDto(world=" + this.getWorld() + ", uuid=" + this.getUuid() + ", areaId=" + this.getAreaId() + ", musicId=" + this.getMusicId() + ", priority=" + this.getPriority() + ", random=" + this.getRandom() + ", loop=" + this.getLoop() + ", enabled=" + this.getEnabled() + ", overWrite=" + this.getOverWrite() + ", volume=" + this.getVolume() + ", pitch=" + this.getPitch() + ", minPoint=" + this.getMinPoint() + ", maxPoint=" + this.getMaxPoint() + ")";
    }

    public static class AreaDtoBuilder {
        private String world;
        private String uuid;
        private String areaId;
        private List<String> musicId;
        private Priority priority;
        private Boolean random;
        private Boolean loop;
        private Boolean enabled;
        private Boolean overWrite;
        private Float volume;
        private Float pitch;
        private Point minPoint;
        private Point maxPoint;

        AreaDtoBuilder() {
        }

        public AreaDtoBuilder world(String world) {
            this.world = world;
            return this;
        }

        public AreaDtoBuilder uuid(String uuid) {
            this.uuid = uuid;
            return this;
        }

        public AreaDtoBuilder areaId(String areaId) {
            this.areaId = areaId;
            return this;
        }

        public AreaDtoBuilder musicId(List<String> musicId) {
            this.musicId = musicId;
            return this;
        }

        public AreaDtoBuilder priority(Priority priority) {
            this.priority = priority;
            return this;
        }

        public AreaDtoBuilder random(Boolean random) {
            this.random = random;
            return this;
        }

        public AreaDtoBuilder loop(Boolean loop) {
            this.loop = loop;
            return this;
        }

        public AreaDtoBuilder enabled(Boolean enabled) {
            this.enabled = enabled;
            return this;
        }

        public AreaDtoBuilder overWrite(Boolean overWrite) {
            this.overWrite = overWrite;
            return this;
        }

        public AreaDtoBuilder volume(Float volume) {
            this.volume = volume;
            return this;
        }

        public AreaDtoBuilder pitch(Float pitch) {
            this.pitch = pitch;
            return this;
        }

        public AreaDtoBuilder minPoint(AreaDto.Point minPoint) {
            this.minPoint = minPoint;
            return this;
        }

        public AreaDtoBuilder maxPoint(AreaDto.Point maxPoint) {
            this.maxPoint = maxPoint;
            return this;
        }

        public AreaDto build() {
            return new AreaDto(this.world, this.uuid, this.areaId, this.musicId, this.priority, this.random, this.loop, this.enabled, this.overWrite, this.volume, this.pitch, this.minPoint, this.maxPoint);
        }

        public String toString() {
            return "AreaDto.AreaDtoBuilder(world=" + this.world + ", uuid=" + this.uuid + ", areaId=" + this.areaId + ", musicId=" + this.musicId + ", priority=" + this.priority + ", random=" + this.random + ", loop=" + this.loop + ", enabled=" + this.enabled + ", overWrite=" + this.overWrite + ", volume=" + this.volume + ", pitch=" + this.pitch + ", minPoint=" + this.minPoint + ", maxPoint=" + this.maxPoint + ")";
        }
    }

    public static class Point {
        private Double x;
        private Double y;
        private Double z;

        public static Point.PointBuilder builder() {
            return new Point.PointBuilder();
        }

        public Double getX() {
            return this.x;
        }

        public Double getY() {
            return this.y;
        }

        public Double getZ() {
            return this.z;
        }

        public void setX(Double x) {
            this.x = x;
        }

        public void setY(Double y) {
            this.y = y;
        }

        public void setZ(Double z) {
            this.z = z;
        }

        public boolean equals(Object o) {
            if (o == this) {
                return true;
            } else if (!(o instanceof Point)) {
                return false;
            } else {
                Point other = (Point)o;
                if (!other.canEqual(this)) {
                    return false;
                } else {
                    label47: {
                        Object this$x = this.getX();
                        Object other$x = other.getX();
                        if (this$x == null) {
                            if (other$x == null) {
                                break label47;
                            }
                        } else if (this$x.equals(other$x)) {
                            break label47;
                        }

                        return false;
                    }

                    Object this$y = this.getY();
                    Object other$y = other.getY();
                    if (this$y == null) {
                        if (other$y != null) {
                            return false;
                        }
                    } else if (!this$y.equals(other$y)) {
                        return false;
                    }

                    Object this$z = this.getZ();
                    Object other$z = other.getZ();
                    if (this$z == null) {
                        if (other$z != null) {
                            return false;
                        }
                    } else if (!this$z.equals(other$z)) {
                        return false;
                    }

                    return true;
                }
            }
        }

        protected boolean canEqual(Object other) {
            return other instanceof Point;
        }

        public int hashCode() {
            boolean PRIME = true;
            int result = 1;
            Object $x = this.getX();
             result = result * 59 + ($x == null ? 43 : $x.hashCode());
            Object $y = this.getY();
            result = result * 59 + ($y == null ? 43 : $y.hashCode());
            Object $z = this.getZ();
            result = result * 59 + ($z == null ? 43 : $z.hashCode());
            return result;
        }

        public Point() {
        }

        public Point(Double x, Double y, Double z) {
            this.x = x;
            this.y = y;
            this.z = z;
        }

        public String toString() {
            return "AreaDto.Point(x=" + this.getX() + ", y=" + this.getY() + ", z=" + this.getZ() + ")";
        }

        public static class PointBuilder {
            private Double x;
            private Double y;
            private Double z;

            PointBuilder() {
            }

            public Point.PointBuilder x(Double x) {
                this.x = x;
                return this;
            }

            public Point.PointBuilder y(Double y) {
                this.y = y;
                return this;
            }

            public Point.PointBuilder z(Double z) {
                this.z = z;
                return this;
            }

            public Point build() {
                return new Point(this.x, this.y, this.z);
            }

            public String toString() {
                return "AreaDto.Point.PointBuilder(x=" + this.x + ", y=" + this.y + ", z=" + this.z + ")";
            }
        }
    }
}
